Jina 实例秀 —— 维基百科句子搜索
本次教程将展示如何构建一个通过语义对文本进行搜索的应用程序。
应用程序在Jina的神经搜索框架支持下使用了最先进的Transformer语言模型来对维基百科中的文本句子进行索引和搜索。当你在应用程序中输入你的搜索内容后,程序会自动输出最相关的句子。
首先来看看程序的整体框架,从下面的Flow(Jina中的基本元素)框架图看出,这个应用程序的流程非常简单:
· 将文档传送给indexer:在索引阶段,indexer会对所有文档进行存储操作;而在查询阶段,indexer则会比较查询文档与所有存储文档的嵌入向量,并最终返回储存文档中最匹配的结果。
下载代码库(包括代码与数据集)并进入到相应文件夹:
git clone https://github.com/jina-ai/examples
cd examples/wikipedia-sentences
安装Jina和环境配置:
pip install -r requirements.txt
💡 Jina安装小提示:推荐在一个新的python虚拟环境中安装Jina
我们默认使用一个小型数据集用于索引,若想使用完整的数据集:
Step1:对Kaggle进行设置(具体方式可在“阅读原文”中查找)
Step2:运行以下脚本下载数据
运行下面代码对数据集建立索引:
python app.py -t index
若想要对下载好的完整数据建立索引,则运行下面的代码
python app.py -t index -d full -n $num_docs
对于数量较大的索引,SimpleIndexer处理 速度非常慢。建议使用更高级的索引器,如FaissIndexer来建立大量数据索引
please type a sentence: Who is Andrea Kremer
Ta-Dah🔮, here are what we found for: Who is Andrea Kremer
> 0(0.36).Andrea Kremer (born February 25, 1959 in Philadelphia, Pennsylvania) is a multi-Emmy Award Winning American television sports journalist.
⭐️Jina实例秀系列教程将不断更新 ⭐️
⭐️敬请持续关注 ⭐️
👇 往期系列教程
Jina 轻松学 —— 用 Jina + Streamlit 极速搭建搜索应用
Jina 实例秀 —— 智能聊天机器人
Jina 轻松学 —— Windows中安装Jina